#pragma once
#include "Client.hpp"

// Other includes
#include "Entity Manager.h"
#include "Character.h"
#include <vector>
using namespace std;


class ClientCommunicator
{

private:
	Client *m_client;
	vector<char*> m_chatlog_messages;

public:
	ClientCommunicator();
	~ClientCommunicator();

	// Character functions
	void UpdateCharacter(const Character& character);
	void AddCharacter(const Character& character);
	void RemoveCharacter(const Character& character);


	vector<char*> GetChatlogMessages() {return m_chatlog_messages;} // make sure this is actually valid

	void Resync();


	bool RecieveUpdates(); // returns true if more packets are still available, otherwise returns false


	void Connect() {m_client->Connect();}


};